from PyQt5 import QtCore,QtGui,QtWidgets
from PyQt5.QtWidgets import QMessageBox
from login import Ui_login_MainWindow
from database import usedb
from system.users_logic import users_window
class adduser_window(Ui_login_MainWindow):
    def __init__(self):
        super(adduser_window, self).__init__()
        self.setupUi(self)
        #固定窗口大小
        self.setFixedSize(400, 300)
        # 只显示关闭按钮
        self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint)
        # 设置密码单行文本框输入内容为字母数字下划线
        self.ledit_password.setEchoMode(QtWidgets.QLineEdit.PasswordEchoOnEdit)
        from PyQt5.QtCore import QRegExp
        self.ledit_password.setValidator(QtGui.QRegExpValidator(QRegExp("[a-zA-Z0-9-]+")))
        # 设置密码单行文本框输入内容为字母数字下划线
        self.ledit_password.setCursorPosition(0)
        self.ledit_password.setObjectName("ledit_password")
        self.ledit_password.setPlaceholderText("字母数字下划线")
        self.rbtn_adm.setChecked(True)
        self.pbtn_login.setText("新建")
        self.setStyleSheet("""
                            QMainWindow {
                                background-color: white; /* 设置背景色为白色 */
                                border:none
                            }

                            QLineEdit {
                                color: gray; /* 设置默认文字颜色为灰色 */
                                border: 1px solid #298DFF;
                                border-radius: 5px;
                            }

                            QLineEdit:focus {/* 鼠标悬浮在QLineEdit时的状态 */
                                color: black; /* 设置默认文字颜色为灰色 */
                                selection-background-color: #298DFF;
                                selection-color: #F2F2F2;
                                background-color: silver; /* 当输入框获得焦点时，背景颜色变为银色 */
                                font-size: 16px;
                            }

                            QGroupBox{
                            border:none;
                            }

                            QRadioButton{
                            /* 字体 */  
                            font:normal 14px; 
                            }

                            QRadioButton:hover{
                            border-style:inset;/*改变边框风格*/
                            padding-left:4px;
                            padding-top:2px;
                            }

                            QRadioButton:hover{
                            border-style:inset;/*改变边框风格*/
                            padding-left:4px;
                            padding-top:2px;
                            }

                            QRadioButton:checked{
                            color:#298DFF;
                            }

                            QPushButton {  
                            /* 边框风格 */  
                            border-style:outset;  
                            /* 边框宽度 */  
                            border-width:1px;  
                            /* 边框颜色 */  
                            border-color:silver;  
                            /* 边框倒角 */  
                            border-radius:10px;  
                            } 

                            #pbtn_login{
                            background-color:orange;
                            opacity: 100;
                            }

                            #pbtn_quit{
                            background-color:gray;
                            opacity: 100;
                            }

                            /*鼠标悬浮时的效果*/
                            QPushButton:hover
                            {
                                border-style:inset;/*改变边框风格*/
                                padding-left:4px;
                                padding-top:2px;
                            }


                            """)
        #显示登录窗口
        self.show()
        # 添加信号槽,点击新建按钮新建操作
        self.pbtn_login.clicked.connect(self.add_user)
        # 添加信号槽,点击取消按钮执行退出程序
        self.pbtn_quit.clicked.connect(self.close)
    def add_user(self):
        cur_username = self.ledit_user.text()
        password = self.ledit_password.text()
        ifadmin = int(self.rbtn_adm.isChecked())
        if cur_username != "" and password != "":
            if usedb.getname(cur_username) > 0:
                self.ledit_user.setText("")
                self.ledit_password.setText("")
                QMessageBox.information(None, '提示', '您要添加的用户名已经存咋，请重新输入!', QMessageBox.Ok)
            else:
                result1 = usedb.query("select * from user")
                result2 = usedb.exec("insert into user(id,user,password,ifadmin) values (?,?,?,?)",
                                     (len(result1) + 1, cur_username, password, ifadmin,))
                if result2 > 0:  # 结果不为0，说明执行成功
                    self.close()
                    self.userswin=users_window()
                    self.userswin.pbtn_OK.setText("查看")
                    self.userswin.query_user()
                    QMessageBox.information(None, '提示', '信息添加成功!', QMessageBox.Ok)
        else:
            QMessageBox.warning(None, '警告', '请输入有效数据!', QMessageBox.Ok)